import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
import 'virtual:svg-icons-register'
// 引入样式
import '@/styles/index.scss'
// 暗黑模式样式
import 'element-plus/theme-chalk/dark/css-vars.css'

import gloablComponent from './components/index'
// 忽略当前文件ts类型的检测否则有红色提示(打包会失败)
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
//@ts-expect-error
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
// 引入路由
import router from './router'
// 引入pinia仓库
import store from './store'

// 引入百度地图
import BaiduMap from 'vue-baidu-map-3x'

// 创建应用实例
const app = createApp(App)

// 使用 ElementPlus 框架
app.use(ElementPlus, {
  locale: zhCn, // 设置语言为中文
})

// 使用全局组件
app.use(gloablComponent)

// 使用路由
app.use(router)

// 使用状态管理
app.use(store)
// 引入路由鉴权文件
import './permisstion'

// 引入自定义指令文件
import { isHasButton } from '@/directive/has'
isHasButton(app)
// 将应用挂载到 #app 元素上

// 使用百度地图
app.use(BaiduMap, {
  ak: 'hFGOuLsfOOziEIROQctKluFqV0m96Wmq',
})
app.mount('#app')
